# Python学习笔记 　在文本编辑器中新建一个文
# 件，写几句话来总结一下你至此学到的Python知识，其中每一
# 行都以“In Python you can”打头。将这个文件命名为
# learning_python.txt，并存储到为完成本章练习而编写的程序所
# 在的目录中。编写一个程序，它读取这个文件，并将你所写的
# 内容打印三次：第一次打印时读取整个文件；第二次打印时遍
# 历文件对象；第三次打印时将各行存储在一个列表中，再
# 在with 代码块外打印它们。

# 读取整个文件
filename = 'learning_python.txt'
with open(filename) as fileobject:
	contents = fileobject.read()
print(contents)

# 遍历文件对象
filename = 'learning_python.txt'
with open(filename) as fileobject:
	for line in fileobject:			# 注意遍历时直接使用fileobject
		print(line.rstrip())		# 注意如果不加rstrip，则读取每行时由于已有换行导致多出空行

# 将各行存储在一个列表中，再在with 代码块外打印它们
filename = 'learning_python.txt'
with open(filename) as fileobject:
	lines = fileobject.readlines()
	# 方法readlines() 从文件中读取每一行，并将其存储在一个列表中

for line in lines:
	print(line.rstrip())


# 总结：使用with open('path') as fileobject:句式导入文件内容时,fileobject本身
# 存储了所有文件内容的相关信息，但不能直接使用或传给其他变量，但可作为遍历对象进行打印输出
# 也可使用read()方法直接读取出全部内容后传给其他变量进行使用，
# 或者使用readlines()方法后传递给其他列表变量进行使用
